package ve.usb.crm.hibernate;

import ve.usb.cohesion.runtime.LocalDate;

public class Tarea implements java.io.Serializable, ve.usb.cohesion.runtime.Auditable {

    /** Creates a new instance of Tarea */
    public Tarea() {}
    
    /**
     * Holds value of property id.
     */
    private Long id;

    /**
     * Getter for property id.
     * @return Value of property id.
     */
    public Long getId() {
        return this.id;
    }

    /**
     * Holds value of property idTarea.
     */
    private long idTarea;

    /**
     * Getter for property idTarea.
     * @return Value of property idTarea.
     */
    public long getIdTarea() {
        return this.idTarea;
    }

    /**
     * Setter for property idTarea.
     * @param idTarea New value of property idTarea.
     */
    public void setIdTarea(long idTarea) {
        this.id = this.idTarea = idTarea;
    }

    private String descripcion = "";

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    


    /**
     * Holds value of property asunto.
     */
    private String asunto = "";

    /**
     * Getter for property asunto.
     * @return Value of property asunto.
     */
    public String getAsunto() {
        return this.asunto;
    }

    /**
     * Setter for property asunto.
     * @param asunto New value of property asunto.
     */
    public void setAsunto(String asunto) {
        this.asunto = asunto;
    }

    /**
     * Holds value of property fechaVencimiento.
     */
    private java.util.Date fechaVencimiento;

    /**
     * Getter for property fechaVencimiento.
     * @return Value of property fechaVencimiento.
     */
    public java.util.Date getFechaVencimiento() {
        return this.fechaVencimiento;
    }

    /**
     * Setter for property fechaVencimiento.
     * @param fechaVencimiento New value of property fechaVencimiento.
     */
    public void setFechaVencimiento(java.util.Date fechaVencimiento) {
        if (fechaVencimiento==null || fechaVencimiento instanceof LocalDate)
            this.fechaVencimiento = fechaVencimiento;
        else this.fechaVencimiento = new LocalDate(fechaVencimiento);
    }

    /**
     * Holds value of property comentarios.
     */
    private Comentario comentario;

    /**
     * Getter for property comentario.
     * @return Value of property comentario.
     */
    public Comentario getComentario() {
        return this.comentario;
    }

    /**
     * Setter for property comentario.
     * @param comentario New value of property comentario.
     */
    public void setComentario(Comentario comentario) {
        this.comentario = comentario;
    }

    /**
     * Holds value of property prioridad.
     */
    private Categoria prioridad;

    /**
     * Getter for property prioridad.
     * @return Value of property prioridad.
     */
    public Categoria getPrioridad() {
        return this.prioridad;
    }

    /**
     * Setter for property prioridad.
     * @param prioridad New value of property prioridad.
     */
    public void setPrioridad(Categoria prioridad) {
        this.prioridad = prioridad;
    }
    /**
     * Holds value of property telefono.
     */
    private String telefono = "";

    /**
     * Getter for property telefono.
     * @return Value of property telefono.
     */
    public String getTelefono() {
        return this.telefono;
    }

    /**
     * Setter for property telefono.
     * @param telefono New value of property telefono.
     */
    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    /**
     * Holds value of property correoElectronico.
     */
    private String correoElectronico = "";

    /**
     * Getter for property correoElectronico.
     * @return Value of property correoElectronico.
     */
    public String getCorreoElectronico() {
        return this.correoElectronico;
    }

    /**
     * Setter for property correoElectronico.
     * @param correoElectronico New value of property correoElectronico.
     */
    public void setCorreoElectronico(String correoElectronico) {
        this.correoElectronico = correoElectronico;
    }

    /**
     * Holds value of property personal.
     */
    private Personal personal;

    /**
     * Getter for property personal.
     * @return Value of property personal.
     */
    public Personal getPersonal() {
        return this.personal;
    }

    /**
     * Setter for property personal.
     * @param personal New value of property personal.
     */
    public void setPersonal(Personal personal) {
        this.personal = personal;
    }
    /**
     * Holds value of property cuentaRelacionada.
     */
    private Cuenta cuentaRelacionada;

    /**
     * Getter for property cuentaRelacionada.
     * @return Value of property cuentaRelacionada.
     */
    public Cuenta getCuentaRelacionada() {
        return this.cuentaRelacionada;
    }

    /**
     * Setter for property cuentaRelacionada.
     * @param cuentaRelacionada New value of property cuentaRelacionada.
     */
    public void setCuentaRelacionada(Cuenta cuentaRelacionada) {
        this.cuentaRelacionada = cuentaRelacionada;
    }
    /**
     * Holds value of property contactoRelacionado.
     */
    private Contacto contactoRelacionado;

    /**
     * Getter for property contactoRelacionado.
     * @return Value of property contactoRelacionado.
     */
    public Contacto getContactoRelacionado() {
        return this.contactoRelacionado;
    }

    /**
     * Setter for property contactoRelacionado.
     * @param contactoRelacionado New value of property contactoRelacionado.
     */
    public void setContactoRelacionado(Contacto contactoRelacionado) {
        this.contactoRelacionado = contactoRelacionado;
    }
    /**
     * Holds value of property oportunidadRelacionada.
     */
    private Oportunidad oportunidadRelacionada;

    /**
     * Getter for property oportunidadRelacionada.
     * @return Value of property oportunidadRelacionada.
     */
    public Oportunidad getOportunidadRelacionada() {
        return this.oportunidadRelacionada;
    }

    /**
     * Setter for property oportunidadRelacionada.
     * @param oportunidadRelacionada New value of property oportunidadRelacionada.
     */
    public void setOportunidadRelacionada(Oportunidad oportunidadRelacionada) {
        this.oportunidadRelacionada = oportunidadRelacionada;
    }
    /**
     * Holds value of property estado.
     */
    private Categoria estado;

    /**
     * Getter for property estado.
     * @return Value of property estado.
     */
    public Categoria getEstado() {
        return this.estado;
    }

    /**
     * Setter for property estado.
     * @param estado New value of property estado.
     */
    public void setEstado(Categoria estado) {
        this.estado = estado;
    }

    /**
     * Holds value of property esActivo.
     */
    private boolean esActivo;

    /**
     * Getter for property esActivo.
     * @return Value of property esActivo.
     */
    public boolean getEsActivo() {
        return this.esActivo;
    }

    /**
     * Setter for property contactoUsuario.
     * @param esActivo New value of property esActivo.
     */
    public void setEsActivo(boolean esActivo) {
        this.esActivo = esActivo;
    }



    public String toString() {
        return "<Tarea id='C" + this.id +
      //idTarea
      "\" asunto =\"" + asunto +
      "\" fechaVencimiento =\"" + fechaVencimiento +
        ((prioridad==null) ? "" : "\" prioridad =\"C" + prioridad.getId()) +

      "\" telefono =\"" + telefono +
      "\" correoElectronico =\"" + correoElectronico +
        ((personal==null) ? "" : "\" personal =\"C" + personal.getId()) +

        ((cuentaRelacionada==null) ? "" : "\" cuentaRelacionada =\"C" + cuentaRelacionada.getId()) +

        ((contactoRelacionado==null) ? "" : "\" contactoRelacionado =\"C" + contactoRelacionado.getId()) +

        ((oportunidadRelacionada==null) ? "" : "\" oportunidadRelacionada =\"C" + oportunidadRelacionada.getId()) +

        ((estado==null) ? "" : "\" estado =\"C" + estado.getId()) +


        "'/>";
    }

}